using System;
using System.Runtime.Serialization;
namespace Net35.Xrm.Sdk.Metadata.Query
{
	[DataContract(Name = "MetadataPropertiesExpression", Namespace = "http://schemas.microsoft.com/xrm/2011/Metadata/Query")]
	public sealed class MetadataPropertiesExpression : IExtensibleDataObject
	{
		private DataCollection<string> _propertyNames;
		public ExtensionDataObject ExtensionData
		{
			get;
			set;
		}
		[DataMember]
		public bool AllProperties
		{
			get;
			set;
		}
		[DataMember]
		public DataCollection<string> PropertyNames
		{
			get
			{
				DataCollection<string> arg_18_0;
				if ((arg_18_0 = this._propertyNames) == null)
				{
					arg_18_0 = (this._propertyNames = new DataCollection<string>());
				}
				return arg_18_0;
			}
			internal set
			{
				this._propertyNames = value;
			}
		}
		public MetadataPropertiesExpression()
		{
		}
		public MetadataPropertiesExpression(params string[] propertyNames)
		{
			this.PropertyNames.AddRange(propertyNames);
		}
	}
}
